home *** CD-ROM | disk | FTP | other *** search
/ Aminet 8 / Aminet 8 (1995)(GTI - Schatztruhe)[!][Oct 1995].iso / Aminet / comm / fido / Rock_1_5.lha / ROCK / rock.wpl < prev    next >
Text File  |  1995-07-30  |  8KB  |  308 lines

  1. ;WPLSCRIPT rock
  2. PRINT "Config Error! (main)\n"
  3. RETURN
  4.  
  5. ;             Rock v1.5 - Fidonet mailer for point systems
  6. ;                 Copyright (C) 1995  Jean-Marc Xiume'.
  7. ;         This software is distributed under the terms of the
  8. ;    GNU General Public License. Read "license.doc" for more details.
  9. ;       This file has been rewritten taking example from pop.wpl,
  10. ;                  copyright (c) 1994 Denis Turcotte.
  11.  
  12.  
  13. ;**************************** Main WPL script **************************
  14.  
  15.  
  16. M:
  17. SUBJUMP ROCKDEF!DISPLAY
  18. SUBJUMP ROCKFIG!DISPLAY
  19. SET cstatus "NOCLOSE"
  20. SET wstatus "NOWAIT"
  21. CMPI $(closestatus) FALSE
  22. FALSEJUMP M1
  23. SET cstatus "CLOSE"
  24. SET wstatus "WAIT"
  25.  
  26. M1: SETSTATUS "$(status)/ROCK v1.5  -  © 1994-1995 by Jean-Marc Xiume'/$(cstatus)/$(wstatus)/INACTIVE/SCREEN $(pubscreen)"
  27. PRINT "ROCK mailer started\n"
  28. SYSTEM "echo >>t:ROCK.log \"$<date> $<time> Started ROCK mailer v1.5"\"
  29.  
  30. SUBJUMP ROCKDEF!MODEM
  31. SUBJUMP ROCKDEF!FILES
  32. SUBJUMP ROCKFIG!FIDO
  33. SUBJUMP ROCKFIG!MODEM
  34. SUBJUMP ROCKFIG!FILES
  35. PRINT "ROCK mailer configured\n\n"
  36. SET stack 4096
  37. SET serflags 164
  38. SETBAUD $(baud)
  39. SET starttime 0
  40. SET callboss TRUE
  41. SET X $(numbers)
  42.  
  43. AddResponse FIND "CONNECT "
  44. AddResponse BUSY "BUSY"
  45. AddResponse MAID "NO CARRIER"
  46. AddResponse MAID "NO ANSWER"
  47. AddResponse LINE "NO DIALTONE"
  48. AddResponse 300     "CONNECT"
  49.  
  50. set mailername.0 "MelMail"
  51. set mailername.5 "OPUS"
  52. set mailername.7 "WPL based mailer"
  53. set mailername.12 "FrontDoor"
  54. set mailername.27 "Binkley"
  55. set mailername.57 "TrapDoor"
  56. set mailername.58 "Welmat"
  57. set mailername.66 "TIMS"
  58. set mailername.106 "MacWoof"
  59. set mailername.170 "Xenolink"
  60.  
  61. SETA host $(host.address)
  62. SET host.wzdomain $(host.domain).org host.freq FALSE host.wzcap 8
  63. SET minsendpri 0 maxsendpri 127 initloop 8 initwait 3 owndevunit FALSE
  64. SET postinbound ROCK!W postoutbound ROCK!X preinbound ROCK!Y preoutbound ROCK!Z
  65.  
  66.  
  67. SYSTEM "execute rock:assignxferq $(outbound)xferq"
  68.  
  69. PRINT "Preparing to call ${rock_calling}\n"
  70. CMPI ${rock_calling} "BOSS"
  71. FALSEJUMP CA
  72. REXXMSG "" REXX "ROCK:bossflo.rexx $(outbound)"
  73. JUMP F
  74.  
  75. CA: REXXMSG "RY" REXX "ROCK:addrcheck.rexx ${rock_calling}"
  76. CMP $(result2) 0
  77. TRUEJUMP A
  78. PRINT "Invalid address $(rock_calling)\n"
  79. SYSTEM "echo >>t:ROCK.log \"$<date> $<time> Invalid address ${rock_calling}"\"
  80. JUMP E0
  81.  
  82. A:
  83. SET callboss FALSE
  84. SET minbaud 0
  85. SET numbers 1
  86. SETA remote "${rock_calling}"
  87. CLEAR remote.number remote.password
  88.  
  89. CMPI $(nodelist) FALSE
  90. TRUEJUMP AM
  91.  
  92. PRINT "Searching nodelist...\n"
  93. REXXMSG "RY" REXX "ROCK:nodelist.rexx ${rock_calling} $(nodelist)"
  94. CMP $(result2) 1
  95. TRUEJUMP AM
  96.  
  97. SET remote.number ${rock_phone}
  98. SET remote.password ${rock_password}
  99. PRINT "Phone    $(remote.number)\n"
  100. PRINT "Password $(remote.password)\n"
  101. JUMP F
  102.  
  103. AM:
  104. PRINT "\nPlease enter the phone number and the password of the called BBS\n"
  105. REXXMSG "SY,RY" REXX "OPTIONS PROMPT 'Phone number: ';PARSE PULL x;RETURN x"
  106. SET remote.number $(result2)
  107. REXXMSG "SY,RY" REXX "OPTIONS PROMPT 'Password: ';PARSE PULL x;RETURN x"
  108. SET remote.password $(result2)
  109.  
  110. F:
  111. PRINT "\nSerial port speed:$(baud)bps - MinBaud:$(minbaud)bps\n"
  112.  
  113. I:
  114. PRINT "Initializing Modem\n"
  115. SET RC $<abort>
  116. TRUEJUMP AB
  117.  
  118. MODEMOPEN
  119. TRUEJUMP I1
  120. PRINT "Cannot open device !\n"
  121. SYSTEM "echo >>t:ROCK.log \"$<date> $<time> Failed opening modem device !"\"
  122. JUMP ER
  123.  
  124. I1: MODEMINIT
  125. TRUEJUMP I2
  126. PRINT "Init failed!\n"
  127. SYSTEM "echo >>t:ROCK.log \"$<date> $<time> Modem init failed !"\"
  128. JUMP ER
  129.  
  130. I2: MODEMCLEAR
  131.  
  132.  
  133. D1:
  134. SET RC $<ABORT>
  135. TRUEJUMP AB
  136.  
  137. CMPI $(callboss) TRUE
  138. FALSEJUMP D2
  139.  
  140. REXXMSG "RY,SY" REXX "IF ($(X)+1)>$(numbers) THEN RETURN 1;ELSE RETURN $(X)+1"
  141. SET X $(result2)
  142. SETA remote $(boss.address$(X))
  143. SET remote.number $(boss.number$(X))
  144.  
  145. D2: CMP $(remote.number) ""
  146. FALSEJUMP D3
  147. PRINT "No phone number\n"
  148. JUMP ER
  149.  
  150. D3: PRINT "\nCalling $(remote.address) at $(remote.number)\n"
  151. SYSTEM "echo >>t:ROCK.log \"$<date> $<time> Calling $(remote.address) at $(remote.number)"\"
  152. SMARTSEND "$(dialstring)$(remote.number)|"
  153. GETRESPONSE $(modemwait)
  154. SET RC $<abort>
  155. TRUEJUMP AB
  156. ;PRINT "Event: $(event)\n"
  157. CMP $(event) CONNECT
  158. TRUEJUMP C
  159. CMP $(event) BUSY
  160. TRUEJUMP BZ
  161. CMP $(event) MAID
  162. TRUEJUMP NC
  163. CMP $(event) LINE
  164. TRUEJUMP ND
  165. CMP $(event) TIMEOUT
  166. TRUEJUMP AB
  167. JUMP ER
  168.  
  169. BZ: SYSTEM "echo >>t:ROCK.log \"$<date> $<time> BUSY"\"
  170. DELAY $(calldelay)
  171. JUMP D1
  172.  
  173. ND: SYSTEM "echo >>t:ROCK.log \"$<date> $<time> NO DIALTONE"\"
  174. PRINT "Something is OUT OF ORDER! Will try again in 20 sec.\n"
  175. DELAY 20
  176. JUMP D1
  177.  
  178. NC: SYSTEM "echo >>t:ROCK.log \"$<date> $<time> NO CARRIER"\"
  179. DELAY $(calldelay)
  180. JUMP D1
  181.  
  182.  
  183. C:
  184. REXXMSG "RY,SY" REXX "IF $(baud)>=$(minbaud) THEN RETURN 1;ELSE RETURN 0"
  185. SET RC $(result2)
  186. TRUEJUMP CS
  187.  
  188. PRINT "Connection baudrate less than MinBaud, hanging up!\n"
  189. SYSTEM "echo >>t:ROCK.log \"$<date> $<time> Connection at $(baud), MinBaud is $(minbaud), hanging up!"\"
  190. MODEMCLOSE
  191. DELAY $(calldelay)
  192. JUMP I
  193.  
  194.  
  195. CS: SET starttime $<time>
  196. SYSTEM "echo >>t:ROCK.log \"$<date> $<time> CONNECT $(baud)"\"
  197. BEGINSESSION $(remote.address)
  198. GETOUTBOUND G6,D6
  199. CMPI $(event) WAZOO
  200. TRUEJUMP C1
  201. SYSTEM "echo >>t:ROCK.log \"$<date> $<time> Failed Wazoo negotiation phase"\"
  202. JUMP ER
  203.  
  204. C1: SYSTEM "echo >>t:ROCK.log \"$<date> $<time> Started Session with $(remote.address) - $(remote.sitename) - $(remote.sysop) - $(mailername.$(remote.product))"\"
  205. PRINT "Started Session with $(remote.address) - $(remote.sitename) - $(remote.sysop) - $(mailername.$(remote.product))\n"
  206.  
  207. C2: CMP $(host.wzcap) 8
  208. TRUEJUMP C3
  209. SYSTEM "echo >>t:ROCK.log \"$<date> $<time> No common protocol available"\"
  210. JUMP ER
  211.  
  212. C3: SETMAILERFLAGS DN,PN
  213. XPRSETUP xprzedzap.library TN,OR,B16,F0,E30,AN,DN,KY,SN,RN,NY,M8192,C$(baud)
  214. ;XPRSETUP  xprzedzap.library KN,C$(Baud)
  215. CMP $(RC) 0
  216. TRUEJUMP C4
  217. SYSTEM "echo >>t:ROCK.log \"$<date> $<time> Error setting up xprzedzap.library"\"
  218. JUMP ER
  219.  
  220. C4: CMPI $(callboss) TRUE
  221. FALSEJUMP C5
  222. REXXMSG "" REXX "ROCK:bossoutbound.rexx $(outbound) $(host.address) $(remote.address)"
  223.  
  224. C5: FINDFREQ $(remote.address)
  225.  
  226. REXXMSG "RY" REXX "ROCK:rock.rexx $(outbound) $(host.address) $(remote.address)"
  227. CMP $(result2) 1
  228. FALSEJUMP C6
  229. SYSTEM "echo >>t:ROCK.log \"$<date> $<time> Site $(remote.address) not online"\"
  230.  
  231. C6: CMPI $(xprdisplay) TRUE
  232. FALSEJUMP R
  233. SETUPDATE "$(xprwin)/CONNECT $(baud) - $(remote.sitename) - $(remote.sysop)/INACTIVE/NOCLOSE/NOSIZE/SCREEN $(pubscreen)"
  234.  
  235. R: XPRSEND ""
  236. FALSEJUMP L
  237. SYSTEM "DELETE $(outbound)$(remote.zone).$(remote.net).$(remote.node).$(remote.point).?LO"
  238. PRINT "Waiting for files\n"
  239. DELAY 2
  240. MODEMCLEAR
  241. XPRRECEIVE ""
  242.  
  243. L: XPRCLOSE
  244. SETUPDATE NULL
  245. SYSTEM "echo >>t:ROCK.log \"$<date> $<time> Ended Session with $(remote.address)"\"
  246.  
  247.  
  248. E: MODEMCLOSE
  249. SET endtime $<time>
  250. ENDSESSION ALL
  251.  
  252. CMPI $(starttime) 0
  253. TRUEJUMP E0
  254.  
  255. REXXMSG "RY" REXX "ROCK:cnxtime.rexx $(starttime) $(endtime)"
  256. SET dtime $(result2)
  257. PRINT "Session connect time $(dtime)\n"
  258. SYSTEM "echo >>t:ROCK.log \"$<date> $<time> Session connect time $(dtime)"\"
  259.  
  260. E0: PRINT "Exiting.\n"
  261. SYSTEM "echo >>t:ROCK.log \"$<date> $<time> Exiting Rock."\"
  262.  
  263. CMPI $(logdisplay) FALSE
  264. TRUEJUMP E1
  265. SYSTEM "type T:rock.log >\"$(logwin)/SESSION LOG/INACTIVE/CLOSE/WAIT/SCREEN $(pubscreen)"\"
  266.  
  267. E1: CMPI $(logrock) FALSE
  268. TRUEJUMP U
  269. SYSTEM "echo >>t:ROCK.log \""\"
  270. SYSTEM "type >>$(logfile) T:rock.log"
  271.  
  272. U: SYSTEM "DELETE >NIL: env:rock_calling env:rock_config env:rock_phone env:rock_password env:wplname xferq:#? T:rock.log"
  273. SYSTEM "Assign XFERQ: remove"
  274. DELAY 3
  275. SET RC 1
  276. RETURN
  277.  
  278. ER:
  279. SYSTEM "echo >>t:ROCK.log \"$<date> $<time> An error has occured."\"
  280. JUMP E
  281.  
  282. AB:
  283. SYSTEM "echo >>t:ROCK.log \"$<date> $<time> Session aborted."\"
  284. JUMP E
  285.  
  286.  
  287. Y: RETURN
  288.  
  289. W: SYSTEM "echo >>t:rock.log \"$<date> $<time> $(filestatus) $(remfile) $(filesize) Bytes CPS:$(cps) ($(cpsp)%)"\"
  290. PRINT "$(filestatus) $(remfile) $(filesize) Bytes CPS:$(cps) ($(cpsp)%)\n\n"
  291. RETURN
  292.  
  293. Z: RETURN
  294.  
  295. X: SYSTEM "echo >>t:ROCK.log \"$<date> $<time> $(filestatus) $(remfile) $(filesize) Bytes CPS:$(cps) ($(cpsp)%)"\"
  296. PRINT "$(filestatus) $(remfile) $(filesize) Bytes CPS:$(cps) ($(cpsp)%)\n\n"
  297. RETURN
  298.  
  299.  
  300. STARTUP:
  301. ;setstatus "kcon:0/130/640/250/ROCK v1.5  -  © 1994-1995 by Jean-Marc Xiume'/WAIT/CLOSE"
  302. LOADSCRIPT ROCKDEF rock:rock.default_cfg
  303. FALSERETURN
  304. LOADSCRIPT ROCKFIG ${rock_config}
  305. FALSERETURN
  306. LAUNCH ROCK ROCK!M 4 30000
  307. RETURN
  308.